package org.jeecg.modules.travel.carpool.entity;

import java.io.Serializable;
import java.util.List;

import org.jeecg.modules.travel.user.entity.TravelDrivers;
import org.jeecg.modules.travel.user.entity.TravelStudents;
// import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: Travel car
 * @Author: Travel
 * @Date:	2023-03-12 
 * @Version:V1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="行程表", description="行程")
@TableName("travel_journey")
public class TravelJourney  implements Serializable {
	private static final long serialVersionUID = 1L;

	/**主键*/
    @TableId(type = IdType.AUTO)
	private java.lang.Long id;

	/** 用户ID */
	@ApiModelProperty(value = "用户ID",example = "0")
	@Excel(name="用户ID",width=15)
	private java.lang.String uid;

	/** 是否司机 */
	@Excel(name="是否司机",width=25)
	@ApiModelProperty(value = "是否司机")
	private java.lang.Boolean driver;

	/** 学生ID */
	@Excel(name="学生、司机ID",width=25)
	@ApiModelProperty(value = "学生、司机ID")
	private java.lang.String sid;

	/** 拼车订单ID */
	@Excel(name="拼车订单ID",width=25)
	@ApiModelProperty(value = "拼车订单ID")
	private java.lang.Long cid;

	/** 订单状态 0:等待同意,1:取消,2:等待开始,3:进行中,4:完成 */
	@Excel(name="状态",width=25)
	@ApiModelProperty(value = "状态")
	private java.lang.Integer status;

	/** 姓名 */
	@Excel(name="姓名",width=25)
	@ApiModelProperty(value = "姓名")
	private java.lang.String name;

	/** 电话 */
	@Excel(name="电话",width=25)
	@ApiModelProperty(value = "电话")
	private java.lang.String phone;

	/** 头像 */
	@Excel(name="头像",width=25)
	@ApiModelProperty(value = "头像")
	private java.lang.String avatarUrl;

	/** 出发时间 */
	@ApiModelProperty(value = "出发时间")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Excel(name="出发时间",width=20,format="yyyy-MM-dd HH:mm:ss")
	private java.util.Date startTime;

	/** 出发地点 */
	@Excel(name="出发地点",width=25)
	@ApiModelProperty(value = "出发地点")
	private java.lang.String startPoint;

	/** 结束时间 */
	@ApiModelProperty(value = "结束时间")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Excel(name="结束时间",width=20,format="yyyy-MM-dd HH:mm:ss")
	private java.util.Date finishTime;

	/** 结束地点 */
	@Excel(name="结束地点",width=25)
	@ApiModelProperty(value = "结束地点")
	private java.lang.String endPoint;

	/** 图片 */
	@Excel(name="图片",width=25)
	@ApiModelProperty(value = "图片")
	private java.lang.String images;

	/** 订单人数 */
	@Excel(name="订单人数",width=25)
	@ApiModelProperty(value = "订单人数")
	private java.lang.Integer seat;

	/** 行程信息 */
	@Excel(name="行程信息",width=25)
	@ApiModelProperty(value = "行程信息")
	@TableField(exist = false)
	private TravelCarpool carpoolInfo;

	/** 一对一关系：司机信息 */
	@ApiModelProperty(value = "司机信息")
	@TableField(exist = false)
	private TravelDrivers driverInfo;


	/** 一对多关系：学生信息 */
	@ApiModelProperty(value = "学生信息")
	@TableField(exist = false)
	private List<TravelStudents> studentInfo;

}
